home *** CD-ROM | disk | FTP | other *** search
/ SGI Developer Toolbox 6.1 / SGI Developer Toolbox 6.1 - Disc 4.iso / src / demos / VGX / shadows / shadows.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-08-02  |  1.9 KB  |  73 lines

  1. /*
  2.  * Copyright 1991, 1992, 1993, 1994, Silicon Graphics, Inc.
  3.  * All Rights Reserved.
  4.  *
  5.  * This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, Inc.;
  6.  * the contents of this file may not be disclosed to third parties, copied or
  7.  * duplicated in any form, in whole or in part, without the prior written
  8.  * permission of Silicon Graphics, Inc.
  9.  *
  10.  * RESTRICTED RIGHTS LEGEND:
  11.  * Use, duplication or disclosure by the Government is subject to restrictions
  12.  * as set forth in subdivision (c)(1)(ii) of the Rights in Technical Data
  13.  * and Computer Software clause at DFARS 252.227-7013, and/or in similar or
  14.  * successor clauses in the FAR, DOD or NASA FAR Supplement. Unpublished -
  15.  * rights reserved under the Copyright Laws of the United States.
  16.  */
  17. /*
  18.     shadows.h - Defines for the VGX vshadow program
  19.  
  20.     Tim Heidmann, Silicon Graphics
  21.     Last Edit   June 28, 1991
  22. */
  23.  
  24. #ifndef _shadows_
  25. #define _shadows_
  26.  
  27. #include <gl.h>
  28. #include "glo_obj.h"
  29.  
  30. /* Edge list management data structures */
  31. typedef struct {
  32.     Boolean lit; float n[3];
  33. } FaceRec, *FacePtr;
  34. typedef struct {
  35.     Boolean silhouetteFlag, markedFlag;
  36.     struct {
  37.     int face, vertex, nextEdge, nextSide;
  38.     } e[2];
  39. } EdgeRec, *EdgePtr;
  40. typedef struct {
  41.     int nFaces, nEdges;
  42.     FaceRec *faces;
  43.     EdgeRec *edges;
  44. } PolyDataRec, *PolyDataPtr;
  45.  
  46. extern float obj_posn[][3];
  47. extern float obj_scale[];
  48. extern Matrix obj_rotMatrix[];
  49. extern int obj_litMaterial[];
  50. extern int obj_shadowMaterial[];
  51. extern int obj_highMaterial[];
  52. extern int obj_texture[];
  53. extern glo_ObjPtr obj_drawlist[];
  54. extern PolyDataPtr obj_data[];
  55. extern int nObjects;
  56.  
  57. extern float light_posn[][3];
  58. extern float jitter_light_posn[][3];
  59. extern float jitter_light_range[][3];
  60. extern int nLights;
  61.  
  62. extern float eyex[];
  63. extern float gazex[];
  64. extern Matrix scene_rotMatrix;
  65. extern float viewWindow[];
  66.  
  67. extern float tev_val[], tex_val[];
  68. extern char *sceneFileName;
  69. extern char *imageFileName;
  70.  
  71. extern Matrix IdentMat;
  72. #endif
  73.